Bump rain-datacontract 0.1.0 -> 0.1.3 (and rain-solmem 0.1.26 it pins) - #13
Bump rain-datacontract 0.1.0 -> 0.1.3 (and rain-solmem 0.1.26 it pins)#13thedavidmeister wants to merge 1 commit into
Conversation
datacontract 0.1.3 hard-pins rain-solmem-0.1.26 import paths, so the transitive solmem pin moves 0.1.3 -> 0.1.26 with it; nothing else in the compile graph imports solmem. 0.1.3 dropped the write API including DataContractMemoryContainer; this repo only ever called contractCreationCode, so the only casualty is a dead type import + using directive in LogTest. contractCreationCode is byte-identical between 0.1.0 and 0.1.3, and the regenerated candidates did not move. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (7)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughThe project updates Rain dependency pins and changes all listed Solidity imports from ChangesDependency migration
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to This dependency pin and import cleanup is merge-ready after normal checks; no actionable merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What
Bumps
rain-datacontract0.1.0 -> 0.1.3, the latest published revision.Why rain-solmem rides along
rain-datacontract0.1.3 hard-pinsrain-solmem-0.1.26/...import paths (LibDataContractre-exportsLibPointer), and withrecursive_deps = falsethose resolve through this repo's declared pins. So the transitiverain-solmempin moves 0.1.3 -> 0.1.26 with it. Nothing else in the compile graph imports solmem: this repo's own sources never do, and neither the vendoredrain-string0.2.0 norrain-math-float0.1.7 sources reference it — the oldfoundry.tomlcomment claimingrain-string->rain-solmemwas stale and is corrected in this diff (mirrors rain.math.float#270, where the same pair moved together in the library repo).Dropped API check
datacontract 0.1.3 dropped its write API, including the
DataContractMemoryContainertype. Everything this repo actually calls survives: every call site isLibDataContract.contractCreationCode(DecimalFloatDeploySuites,LibEtchLogTables, the deploy tests). The only casualty istest/abstract/LogTest.sol's type import and its deadusing LibDataContract for DataContractMemoryContainer;directive — removed, no behaviour behind them.Deploy pins
contractCreationCodeis byte-identical between 0.1.0 and 0.1.3 (only itsDataTooLargeerror declaration moved from the library intoErrDataContract.sol, same signature), and the solmem import is an unused re-export.forge script script/Build.solwas re-run after the bump: thesrc/generated/candidate/snapshots did not move — same log-tables creation code, sameDecimalFloatbytecode, same Zoltu addresses. The frozensrc/generated/0_1_1/record is untouched.Scope
foundry.toml+soldeer.lock: the two version pins, plus the corrected solmem-edge comment.rain-datacontract-0.1.0/->rain-datacontract-0.1.3/import paths acrosssrc/abstract/DecimalFloatDeploySuites.sol,script/lib/LibEtchLogTables.soland four test files.test/abstract/LogTest.sol: dead write-API references removed.remappings.txtin this repo (gitignored, soldeer regenerates it), so nothing to prune there.QA
usingdirective; the compiler kills any wrong path/symbol edit with a build failure).contractCreationCodebyte-identical,read/readSlicedoc-only changes, write API deleted (unused here),DataTooLargemoved files with an unchanged signature. Candidate pins re-derived byforge script script/Build.soland byte-identical to main's.Verification
Full suite locally in the flake shell: 71 passed, 6 failed — the 6 failures are exactly the live-network prod-deployment fork tests (
testProdDeployment*,testSuitesLiveOnEverySupportedNetwork) failing atvm.createSelectFork: environment variable ... not found, which need the CI RPC secrets and fail identically on an unmodified checkout. CI is the gate for those.🤖 Generated with Claude Code
Summary by CodeRabbit
Chores
Refactor